package com.iuie.ns.system.service.setting;

import java.util.List;

import com.iuie.ns.system.vo.setting.SysUserSettingVO;

/**
 * 用户设置-接口
 * @author liujie
 * @date 2018年3月26日下午9:24:57
 */
public interface ISysUserSettingService {

	/**
	 * 查询当前用户当前角色的设置信息
	 * @param currentRole
	 * @return
	 * @date 2018年3月26日下午9:25:33
	 */
	List<SysUserSettingVO> findAll();
	
	/**
	 * 保存当前用户当前角色的设置信息
	 * @param list
	 * @date 2018年3月26日下午9:27:34
	 */
	void saveAll(List<SysUserSettingVO> list);
	
	/**
	 * 删除用户设置，根据settingKey
	 * @param settingKey
	 * @param valueType
	 * @return
	 * @date 2018年3月31日下午5:08:41
	 */
	Integer deleteUserSettingsBySettingKey(String settingKey, String valueType);

	/**
	 * 查询当前用户当前角色的settingKeys
	 * @return
	 * @date 2018年3月31日下午6:05:29
	 */
	List<String> findCurrentRoleSettingKeys();
	
	/**
	 * 根据角色ID查询settingKeys
	 * @param roleId
	 * @return
	 * @date 2018年3月31日下午6:07:15
	 */
	List<String> findSettingKeysByRoleId(String roleId);
	
	/**
	 * 根据用户ID删除用户设置
	 * @param userId
	 * @param roleId
	 * @return
	 * @date 2018年3月31日下午6:29:15
	 */
	Integer deleteUserSettingByUserId(String userId, String roleId);
	
	/**
	 * 根据用户ID查询用户设置
	 * @param userId
	 * @return
	 * @date 2018年3月31日下午6:40:00
	 */
	List<SysUserSettingVO> findByUserId(String userId, String roleId);

	/**
	 * 查询当前用户当前角色的settingKey对应的用户设置
	 * @param settingKey
	 * @return
	 * @date 2018年4月1日下午1:15:24
	 */
	SysUserSettingVO findOneBySettingKey(String settingKey);
	
}
